The term “link” is often used to refer to the connection between two devices on a computer network. The link may be a physical medium, such as a copper wire, a coaxial cable, any of a host of different fiber optic lines or a wireless connection. In addition, network devices may define “virtual” or “logical” links, and map the virtual links to the physical links. As networks grow in size and complexity, the traffic on any given link may approach a maximum bandwidth capacity for the link, thereby leading to congestion and loss.
Multi-protocol Label Switching (MPLS) is a mechanism used to engineer traffic patterns within Internet Protocol (IP) networks. By utilizing MPLS, a source device can request a path through a network, i.e., a Label Switched Path (LSP). An LSP defines a distinct path through the network to carry packets from the source device to a destination device. A short label associated with a particular LSP is affixed to packets that travel through the network via the LSP. Routers along the path cooperatively perform MPLS operations to forward the MPLS packets along the established path. LSPs may be used for a variety of traffic engineering purposes including bandwidth management and quality of service (QoS).
Historically, MPLS label distribution was driven by protocols such as label distribution protocol (LDP), Resource ReserVation Protocol with Traffic Engineering extensions (RSVP-TE) and labeled Border Gateway Protocol (LBGP). Procedures for LDP by which label switching routers (LSRs) distribute labels to support MPLS forwarding along normally routed paths are described in L. Anderson, “LDP Specification,” RFC 3036, Internet Engineering Task Force (IETF), January 2001, the entire contents of which are incorporated by reference herein. RSVP-TE uses constraint information, such as bandwidth availability, to compute and establish LSPs within a network. RSVP-TE may use bandwidth availability information accumulated by a link-state interior routing protocol, such as the Intermediate System—Intermediate System (IS-IS) protocol or the Open Shortest Path First (OSPF) protocol.
Head-end routers of an LSP are commonly known as ingress routers, while routers at the tail-end of the LSP are commonly known as egress routers. Ingress and egress routers, as well as intermediate routers along the LSP that support MPLS, are referred to generically as label switching routers (LSRs). A set of packets to be forwarded along the LSP is referred to as a forwarding equivalence class (FEC). A plurality of FECs may exist for each LSP, but there may be only one active LSP for any given FEC. Typically, a FEC definition includes the IP address of the destination of the LSP, e.g., an IP address assigned to the egress router of the LSP. The ingress label edge router (LER) uses routing information, propagated from the egress LER, to determine the LSP, to assign labels for the LSP, and to affix a label to each packet of the FEC. The LSRs use MPLS protocols to receive MPLS label mappings from downstream LSRs and to advertise MPLS label mappings to upstream LSRs. When an LSR receives an MPLS packet from an upstream router, it switches the MPLS label according to the information in its forwarding table and forwards the packet to the appropriate downstream LSR or LER. The egress LER removes the label from the packet and forwards the packet to its destination in accordance with non-label based packet forwarding techniques.
In general, each router along the LSP maintains a context that associates a FEC with an incoming label and an outgoing label. In this manner, when an LSR receives a labeled packet, the LSR may swap the label (i.e., the incoming label) with the outgoing label by performing a lookup in the context. The LSR may then forward the packet to the next LSR or LER along the LSP. The next router along the LSP is commonly referred to as a downstream router or a next hop.
In some instances, a node or link along an LSP may no longer be available. For example, a link along the LSP, or a node may experience a failure event, such as when one or more components of a router fail or the router is brought down by a user, such as a network operator. In these instances, signaling of a new LSP would fail when the LSP was to be explicitly routed along a path that traverses the unavailable link or node. An LSR along the path of the new LSP would detect the failed link or node, and may send an error message indicating that the new LSP cannot be established as requested.
When a link or router in the network fails, routers using traditional link state protocols, such as OSPF and/or IS-IS, may take a long time to adapt their forwarding tables in response to the topological change resulting from node and/or link failures in the network. The process of adapting the forwarding tables is known as convergence. This time delay occurs because each node must update its representation of the network topology and execute the shortest path algorithm to calculate the next-hop for each destination within the updated network topology. Until the next-hops are re-computed, traffic being sent toward the failed links may be dropped.